<?php
class UsuariosController extends AppController
{
	var $name = 'Usuarios';
	var $uses = array('Usuario','Estado','Municipio','Parroquia','Tienda','Sistema','Usuario_sistema','Sistema_modulo_sistema','Sistema_modulo_accion','Modulo_accion_opcion','Opcion_sistema');
	var $helpers = array('Html','Ajax','Javascript','Cargar');
	var $layout =  "ajax";
	var $components = array('Json','Util','For','Interfaz','Vista'/*,'RequestHandler','DebugKit.Toolbar'*/);

	public function beforeFilter()
  	{
  		$this->validar();
  	}

  	function index()
	{
 	}

	public function listado_usuarios($busq=null) 
	{	
		$this->permisos_menu_individual('LISTADO DE usuarios');
		$this->Vista->title('Listado de Usuarios');
		$tipo_usuario=$this->Interfaz->id($this->Session->read('tipo_usuario'));
		$tienda_id=$this->Interfaz->id($this->Session->read('tienda_id'));
		$data=$this->Usuario->find('all',array('conditions'=> array("Usuario.id >"=>'0'),'order'=>'Funcionario.nombre, Funcionario.apellido'));
		$this->set('data',$data);
		$this->set('busq',$busq);
		$this->log();
	}

	public function nuevo($div='vista',$divlistado='vista') 
	{	
		$this->permisos_accion_individual('LISTADO DE usuarios','nuevo'); // mensaje que se quiere mostrar
		$this->set('div',$div);
		$this->set('divlistado',$divlistado);
		$this->set('lista_sexo',$this->Utilitario->lista_sexo('L'));
		$this->set('lista_cod_celular',$this->Utilitario->lista_cod_celular());
		$this->set('lista_tienda',$this->Utilitario->lista_tienda());
		$this->set('tipo_usuario',$this->Interfaz->id($this->Session->read('tipo_usuario')));
	}

	public function buscador_funcionarios() 
	{
		$this->set('div','cedula');
		$this->set('divlistado',DOCULTO);
	}

	public function listado_buscador_funcionarios($vent=null,$div=null,$para=null) 
	{
		if(isset($para) && !empty($para))
		{
			$this->set('data',$this->Funcionario->find('all',array('conditions'=> array("Funcionario.id >"=>'0',"OR"=>array('Funcionario.nombre ilike'=>"%$para%",'Funcionario.apellido ilike'=>"%$para%",'Funcionario.cedula ilike'=>"%$para%",'Funcionario.ficha ilike'=>"%$para%")),'order'=>'Funcionario.nombre, Funcionario.apellido')));
			$this->set('busq',$para);
		}
		else
		{
			$this->set('data',null);
			$this->set('busq','');
		}
		echo "<script type='text/javascript'>document.getElementById('$div').style.display='block';</script>";
		$this->set('vent',$vent);
	}

	public function seleccionar_funcionario($vent=null,$id_funcio=null)
	{
		if(isset($vent) && isset($id_funcio))
		{
			$id=$this->Interfaz->id($id_funcio);
			$d=$this->Funcionario->find('first',array('conditions'=> array("Funcionario.id"=>$id)));
			echo "<script type='text/javascript'>
					document.getElementById('funcionario_id').value='".$d['Funcionario']['id']."';
					document.getElementById('cedula').value='".$d['Funcionario']['cedula']."';
					document.getElementById('nombre').value='".$d['Funcionario']['nombre']."';
					document.getElementById('apellido').value='".$d['Funcionario']['apellido']."';
					document.getElementById('sexo').value='".$d['Funcionario']['sexo']."';
					document.getElementById('ficha').value='".$d['Funcionario']['ficha']."';
					document.getElementById('correo').value='".$d['Funcionario']['correo']."';
					document.getElementById('celular').value='".$d['Funcionario']['celular']."';
					document.getElementById('telefono').value='".$d['Funcionario']['telefonoresidencial']."';
					document.getElementById('fecha_i_cal_').value='".$this->Utilitario->ver_fecha($d['Funcionario']['fecha_nacimiento'])."';
				</script>";
			$this->Vista->cerrar_ventana($vent);
		}
		$this->render("../".PRINCIPAL."/mensajes");
	}

	function guardarnuevo() 
	{
		extract($this->request->data);
		$ff=$this->request->data['fecha'];
		$ff=$$ff;
		$data=$this->Interfaz->data($this->request->data);
		$rep=0;
		if($this->Vista->empyt($data,array('telefono','correo','clave','repclave','busca_funcionario_em')))
		{
			$this->Vista->mensaje('Faltan Datos que son Requeridos','ALERTA');
		}
		else if($this->Vista->correo($data['correo'],'correo')){$this->Vista->mensaje('Correo Electronico Invalido','ERROR');}
		else if($this->Vista->celular($data['celular'],'celular')){$this->Vista->mensaje('Numero Celular Invalido','ERROR');}
		else if($this->Vista->telefono($data['telefono'],'telefono')){$this->Vista->mensaje('Numero de Telefono Residencial Invalido','ERROR');}
		else if ($this->Vista->checkdate($data['fecha_i_cal_'],'fecha_i_cal_'))
		{
			$this->Vista->mensaje('LA FECHA DE NACIMIENTO PROPORCIONADA NO ES VALIDA','ERROR','fecha');	
		}
		else if($this->Vista->verifica('Funcionario','cedula',$data['cedula'],'cedula') && $data['funcionario_id']==0)
		{
			$this->Vista->mensaje('Esta Cedula ya se encuentra registrada','ERROR','cedula');
		}
		else if($this->Vista->verifica('Usuario','funcionario_id',$data['funcionario_id'],'cedula'))
		{
			$this->Vista->mensaje('El Funcionario ya Posee Usuario Registrado','ERROR','cedula');
		}
		else if($this->Vista->verifica('Usuario','usuario',$data['usuario'],'usuario'))
		{
			$this->Vista->mensaje('Esta Usuario ya se encuentra registrado','ERROR','usuario');
		}
		else if($this->Vista->verifica('Funcionario','celular',$data['celular'],'celular') && $data['funcionario_id']==0)
		{
			$this->Vista->mensaje('Esta Celular ya se encuentra registrado','ERROR','celular');
		}
		else if((isset($data['clave']) or isset($data['repclave'])) and $data['clave']!=$data['repclave'])
		{
			$this->Vista->mensaje('Esta Clave es Erronea por favor verifique','ERROR');
			$this->Vista->monta_imagem('clave','Error en clave');
			$this->Vista->monta_imagem('repclave','Error en clave');
			$rep=1;
		}
		else
		{
			if($rep==0)
			{
				$cla=explode('-',$data['cedula']);
				$clave=$cla[1];
			}
			else
			{
				$clave=$data['clave'];
			}
			$this->Usuario->query('BEGIN  WORK');
			if(isset($data['funcionario_id']) && $data['funcionario_id'] > 0)
			{
				$id_fun= $data['funcionario_id'];
			}
			else
			{
	
				$d['Funcionario']['nombre']=$data['nombre'];
				$d['Funcionario']['apellido']=$data['apellido'];
				$d['Funcionario']['cedula']=$data['cedula'];
				$d['Funcionario']['fecha_nacimiento']=$this->Utilitario->guar_fecha($ff);
				$d['Funcionario']['sexo']=$data['sexo'];
				$d['Funcionario']['correo']=$data['correo'];
				$d['Funcionario']['celular']=$data['celular'];
				$d['Funcionario']['telefonoresidencial']=$data['telefono'];
				$d['Funcionario']['ficha']=$data['ficha'];
				$d['Funcionario']['tienda_id']=$data['tienda_id'];
				$d['Funcionario']['estatus']=1;
		 		if ($this->Funcionario->save($d))
				{
					$id_fun= $this->Funcionario->id;
				}
				else
				{
					$id_fun= 0;
				}
			}
	 		if ($id_fun>0)
			{
				$d=null;			
				$d['Usuario']['conectado']='0';
				$d['Usuario']['funcionario_id']=$id_fun;
				$d['Usuario']['contrasena']=$this->Utilitario->con_clave($clave);
				$d['Usuario']['estatus']=1;
				$d['Usuario']['tienda_id']=$data['tienda_id'];
				$d['Usuario']['tipo_usuario_id']=5;
				$d['Usuario']['usuario']=$data['usuario'];
				
	 			if ($this->Usuario->save($d))
				{
					$this->Vista->mensaje('Usuario Registrado Exitosamente','EXITO');
					$this->Usuario->query('COMMIT');
					$this->log();
				}
				else
				{
					$this->Vista->mensaje('Ocurrio un Error Verificar Logs','ERROR');
					$this->Usuario->query('ROLLBACK');
				}
			}
			else
			{
				$this->Vista->mensaje('Ocurrio un Error Verificar Logs','ERROR');
				$this->Usuario->query('ROLLBACK');
			}
		}
		$this->listado_usuarios($data['usuario']);
		$this->render('listado_usuarios');
	}

	public function micuenta($div='vista',$divlistado='vista',$tip=2,$id=null) 
	{	
	  	$id_limpio = $this->Interfaz->id($id);
		$this->set('data',$this->Usuario->find('first',array('conditions'=> array("Usuario.id"=>$id_limpio,"Usuario.estatus"=>1))));
		$this->set('div',$div);$this->set('tip',$tip);
		$this->set('divlistado',$divlistado);
		$this->set('lista_sexo',$this->Utilitario->lista_sexo('L'));
		$this->set('lista_cod_celular',$this->Utilitario->lista_cod_celular());
	}

	public function guardarmodificar() 
	{
		//$this->Json->pr($data);
		extract($this->request->data);
		$ff=$this->request->data['fecha'];
		$ff=$$ff;
		$id_fun=$this->Interfaz->id($this->request->data['funcionario_id']);
		$data=$this->Interfaz->data($this->request->data);
		$id= $this->Interfaz->id($data['id']);

		$rep=0;
		if($this->Vista->empyt($data,array('telefono','correo','clave','repclave')))
		{
			$this->Vista->mensaje('Faltan Datos que son Requeridos','ALERTA');
		}
		else if($this->Vista->correo($data['correo'],'correo')){$this->Vista->mensaje('Correo Electronico Invalido','ERROR');}
		else if($this->Vista->celular($data['celular'],'celular')){$this->Vista->mensaje('Numero Celular Invalido','ERROR');}
		else if($this->Vista->telefono($data['telefono'],'telefono')){$this->Vista->mensaje('Numero de Telefono Residencial Invalido','ERROR');}
		else if ($this->Vista->checkdate($ff,'fecha_i_cal_'))
		{
			$this->Vista->mensaje('LA FECHA DE NACIMIENTO PROPORCIONADA NO ES VALIDA','ERROR','fecha');	
		}
		else if($this->Vista->verifica('Funcionario','cedula',$data['cedula'],'cedula',$id_fun))
		{
			$this->Vista->mensaje('Esta Cedula ya se encuentra registrada','ERROR','cedula');
		}
		else if($this->Vista->verifica('Usuario','funcionario_id',$id_fun,'cedula',$id))
		{
			$this->Vista->mensaje('El Funcionario ya Posee Usuario Registrado','ERROR','cedula');
		}
		else if($this->Vista->verifica('Usuario','usuario',$data['usuario'],'usuario',$id))
		{
			$this->Vista->mensaje('Esta Usuario ya se encuentra registrado','ERROR','usuario');
		}
		else if($this->Vista->verifica('Funcionario','celular',$data['celular'],'celular',$id_fun))
		{
			$this->Vista->mensaje('Esta Celular ya se encuentra registrado','ERROR','celular');
		}
		else if((isset($data['clave']) or isset($data['repclave'])) and $data['clave']!=$data['repclave'])
		{
			$this->Vista->mensaje('Esta Clave es Erronea por favor verifique','ERROR');
			$this->Vista->monta_imagem('clave','Error en clave');
			$this->Vista->monta_imagem('repclave','Error en clave');
			$rep=1;
		}
		else
		{
			$d['Funcionario']['id']=$id_fun;
			$d['Funcionario']['nombre']=$data['nombre'];
			$d['Funcionario']['apellido']=$data['apellido'];
			$d['Funcionario']['cedula']=$data['cedula'];
			$d['Funcionario']['fecha_nacimiento']=$this->Utilitario->guar_fecha($ff);
			$d['Funcionario']['sexo']=$data['sexo'];
			$d['Funcionario']['correo']=$data['correo'];
			$d['Funcionario']['celular']=$data['celular'];
			$d['Funcionario']['telefonoresidencial']=$data['telefono'];
			$d['Funcionario']['ficha']=$data['ficha'];
			if(isset($data['tienda_id']) && !empty($data['tienda_id'])) $tienda_id=$data['tienda_id'];
			else $tienda_id=$this->Interfaz->id($this->Session->read('tienda_id'));
			$d['Funcionario']['tienda_id']=$tienda_id;
		 	if ($this->Funcionario->save($d))
			{					
				$d=null;
				$d['Usuario']['id']=$id;
				$d['Usuario']['contrasena']=$this->Utilitario->con_clave($data['clave']);		
	 			if ($this->Usuario->save($d))
				{
					$this->Vista->mensaje('Datos del Funcionario fueron Modificados Exitosamente<br />Cierre la ventana de modificacion','EXITO');
					$this->Usuario->query('COMMIT');
					$this->log();
				}
				else
				{
					$this->Vista->mensaje('Ocurrio un Error Verificar Logs','ERROR');
					$this->Usuario->query('ROLLBACK');
				}
			}
			else
			{
				$this->Vista->mensaje('Ocurrio un Error Verificar Logs','ERROR');
				$this->Usuario->query('ROLLBACK');
			}
		}
		$this->listado_usuarios($data['usuario']);
		$this->render('listado_usuarios');
	}

	public function mi_sistemas($div='vista',$divlistado='vista',$id=null) 
	{	
	  	$id_limpio = $this->Interfaz->id($id);
		$this->set('data',$this->Usuario->find('first',array('conditions'=> array("Usuario.id"=>$id_limpio))));
		$f= $this->Usuario_sistema->find('all',array('fields'=>array('Usuario_sistema.estatus','Usuario_sistema.id','Sistema.nombre','Sistema.nombre_var','Sistema.estatus'),
'conditions' => array('Usuario_sistema.usuario_id' =>$id_limpio),'order' => 'Sistema.nombre ASC'));
		$s= $this->Sistema->find('list',array('fields'=>array('Sistema.id','Sistema.nombre'),'conditions' => array('Sistema.estatus' =>1),'order' => 'Sistema.nombre ASC'));

		$this->set('div',$div);$this->set('sistemas',$f);$this->set('lista_sistemas',$s);
		$this->set('divlistado',$divlistado);
	}

	public function cambiar_estatus_mi_sistema($diveve,$est,$id=null)
	{
		if(isset($id))
		{
			$f= $this->Usuario_sistema->find('first',array('fields'=>array('Usuario_sistema.estatus'), 'conditions' => array('Usuario_sistema.id' =>$this->Interfaz->id($id))));
			if($f['Usuario_sistema']['estatus']==1)
			{
				$est_n=0;
				$msj="Sistema para el Usuario Desactivado Exitosamente";
			}
			else
			{
				$est_n=1;
				$msj="Sistema para el Usuario Activado Exitosamente";
			}
			$d['Usuario_sistema']['id']=$this->Interfaz->id($id);
			$d['Usuario_sistema']['estatus']=$est_n;
			if($this->Usuario_sistema->save($d))
			{
				$this->Vista->mensaje($msj,'EXITO');
				$this->set('esta',$est_n);
			}
			else
			{
				$this->Vista->mensaje('Ocurrio un error Intente nuevamente','Error');
				$this->set('esta',$est);
			}
			$this->set('id',$this->Interfaz->id($id));
			$this->log();
		}
		else
		{
			$this->set('esta',$est);$this->set('id',$id);
			$this->Vista->mensaje('Error estas tratando de violar la seguridad AGROPATRIA','ALERTA');
		}
		$this->set('diveve',$diveve);
	}

	public function guardar_nuevo_sistema()
	{
		extract($this->request->data);
		$id_limpio= $this->Interfaz->id($usuario_id);
		$id_limpio2= $sistema_id;
		$f= $this->Usuario_sistema->find('all',array('fields'=>array('Usuario_sistema.estatus','Usuario_sistema.id','Sistema.nombre','Sistema.nombre_var','Sistema.estatus'),
'conditions' => array('Usuario_sistema.usuario_id' =>$id_limpio),'order' => 'Sistema.nombre ASC'));
		$this->set('sistemas',$f);
		if(isset($id_limpio2) && $id_limpio2>0)
		{
			if($this->Vista->verifica_dos('Usuario_sistema','sistema_id','usuario_id',$id_limpio2,$id_limpio,'sistema_id'))
			{
				$this->Vista->mensaje('Este Sistema ya se Encuantra asignado al Usuario','ERROR');
			}
			else
			{
				$d['Usuario_sistema']['sistema_id']=$id_limpio2;
				$d['Usuario_sistema']['usuario_id']=$id_limpio;
				if($this->Usuario_sistema->save($d))
				{
					$this->Vista->mensaje('Sistema asignado al Usuario','Exito');
				}
				else
				{
					$this->Vista->mensaje('Ocurrio un error asignando sistema','ERROR');
				}
				$this->log();
			}
		}
		else
		{
			$this->Vista->mensaje('Debe seleccionar un sistema','ERROR');
		}

	}

	public function permiso_usuario($div='vista',$divlistado='vista',$id=null) 
	{	
		$this->permisos_opcion_individual('LISTADO DE usuarios','estatus','ver'); // mensaje que se quiere mostrar
	  	$id_limpio = $this->Interfaz->id($id);
		$s= $this->Usuario_sistema->find('all',array('fields'=>array('Sistema.id','Sistema.nombre'),
			'conditions' => array('Usuario_sistema.usuario_id' =>$id_limpio,'Usuario_sistema.estatus' =>1),'order' => 'Sistema.nombre ASC'));
		for($j=0; $j <count($s);$j++)
		{
			$lis[$s[$j]['Sistema']['id']]=$s[$j]['Sistema']['nombre'];
		}
		$this->set('lista_sistemas',$lis);
		$this->set('data',$this->Usuario->find('first',array('conditions'=> array("Usuario.id"=>$id_limpio))));
		$f= $this->Usuario_sistema->find('all',array('fields'=>array('Usuario_sistema.estatus','Usuario_sistema.id','Sistema.nombre','Sistema.nombre_var','Sistema.estatus'),
'conditions' => array('Usuario_sistema.usuario_id' =>$id_limpio),'order' => 'Sistema.nombre ASC'));
		
		$this->set('div',$div);$this->set('sistemas',$f);
		$this->set('divlistado',$divlistado);
		$opciones= $this->Opcion_sistema->find('all', array('conditions' => array('Opcion_sistema.estatus' =>1),'fields'=>array('Opcion_sistema.id','Opcion_sistema.nombre'),'order' => 'Opcion_sistema.id ASC'));

		$this->set('opciones',$opciones);
	}


	public function montar_modulos_sistema($id_sistema=null) 
	{
		if(!isset($id_sistema))
		{
			$acciones=null;$lista=null;
		}
		else
		{
			$acciones= $this->Sistema_modulo_sistema->find('all',array('fields'=>'Sistema_modulo_sistema.id, Modulo_sistema.nombre','conditions'=>array('Sistema_modulo_sistema.sistema_id'=>$id_sistema)));
			if(count($acciones)==0) $lista=null;
			else
			{
				for($i=0;$i < count($acciones); $i++)
					$lista[$acciones[$i]['Sistema_modulo_sistema']['id']]=$acciones[$i]['Modulo_sistema']['nombre'];
			}
		}
		$this->set('lista_accion_sistema',$lista);
	}

	public function listado_permiso_usuario() 
	{
		$this->permisos_opciones('LISTADO DE usuarios','estatus');
		$data=$this->request->data;
		$id_limpio=$this->Interfaz->id($data['usuario_id']);
		$opciones= $this->Opcion_sistema->find('all', array('conditions' => array('Opcion_sistema.estatus' =>1),'fields'=>array('Opcion_sistema.id','Opcion_sistema.nombre'),'order' => 'Opcion_sistema.id ASC'));
		$id=$data['modulo_sistema_id'];
		$mod_acci= $this->Sistema_modulo_accion->find('all', array('conditions' => array('Sistema_modulo_accion.sistema_modulo_sistema_id' =>$id,'Sistema_modulo_accion.estatus'=>1),'fields'=>array('Sistema_modulo_accion.id','Accion_sistema.nombre')));
		$tam=count($mod_acci);
		if($tam>0)
		{
			for($j=0;$j< count($mod_acci);$j++)
			{
				$accion[$j]=$mod_acci[$j]['Accion_sistema']['nombre'];
				for($k=0;$k< count($opciones);$k++)
				{
					$n= $this->Modulo_accion_opcion->find('first', array('conditions' => array('Modulo_accion_opcion.sistema_modulo_accion_id' =>$mod_acci[$j]['Sistema_modulo_accion']['id'],'opcion_sistema_id' =>$opciones[$k]['Opcion_sistema']['id']),'fields'=>array('id')));
					if(!empty($n['Modulo_accion_opcion']['id']) && $n['Modulo_accion_opcion']['id']>0)
					{
						$r=$this->obtener_permisos_mao($n['Modulo_accion_opcion']['id'],$id_limpio);
						$accion_opcion[$j][$k]['id']=$n['Modulo_accion_opcion']['id'];
					}
					else
					{
						$r=2;
						$accion_opcion[$j][$k]['id']=0;
					}
					$accion_opcion[$j][$k]['permiso']=$r;
				}
			}
		}
		else
		{ 
			$accion[0]='Nada';$accion_opcion[0][0]='Nada';
		}
		$this->set('usuario_id',$this->Interfaz->id($data['usuario_id']));
		$this->set('acciones',$accion);
		$this->set('tamanio',$tam);
		$this->set('accion_opcion',$accion_opcion);
		$this->set('opciones',$opciones);
/*
No es facil vivir en un mundo intranquilo y confuso es dificil creer cuando existe tanta incertidumbre es penoso esperar cuando hay tanta confucion
*/
	}

	public function cambiar_permisos_mi_sistema($usu_id,$id=null)
	{
		$this->permisos_opcion_individual('LISTADO DE usuarios','estatus','permiso'); // mensaje que se quiere mostrar
		if(isset($id))
		{
			$id_mao=$this->Interfaz->id($id);
			$id_usu=$this->Interfaz->id($usu_id);
			if($id_mao>0)
			{
				$r= $this->obtener_permisos_mao($id_mao,$id_usu);
				if($r==1){ $r=0;$msj="Permiso Desactivado Exitosamente";}
				else{ $r=1;$msj="Permiso Activado Exitosamente";}
				$f= $this->Permiso->find('first',array('fields'=>array('Permiso.id'),'conditions' => array('Permiso.modulo_accion_opcion_id' =>$id_mao,'Permiso.usuario_id' =>$id_usu)));
				if(isset($f['Permiso']['id']) && $f['Permiso']['id']>0)
				{
					$d['Permiso']['id']=$f['Permiso']['id'];
					$d['Permiso']['permiso']=$r;
					$this->set('esta',$r);
				}
				else
				{
					$d['Permiso']['permiso']=$r;
					$d['Permiso']['usuario_id']=$id_usu;
					$d['Permiso']['modulo_accion_opcion_id']=$id_mao;
					$d['Permiso']['permiso']=1;
					$this->set('esta',1);
					$msj="Permiso Activado Exitosamente";
				}
				if($this->Permiso->save($d))
				{
					$this->Vista->mensaje($msj,'EXITO');
				}
				else
				{
					$this->Vista->mensaje('Ocurrio un error Intente nuevamente','Error');
				}
				$this->log();
			}
			else $this->Vista->mensaje('no existe modulo accion opcion','Error');
			
		}
		else
		{
			$this->set('esta',0);$this->set('id',0);
			$this->Vista->mensaje('Error estas tratando de violar la seguridad AGROPATRIA','ALERTA');
		}
	}


	function pdfc($id=null)
	{
		$this->layout = 'pdf';
		$this->render();
	} 

	function asigna_permisos($sistema_id,$modulo_id=0,$accion_id=0,$opcion_id=0,$modulo_accion_opcion_id=0)
	{
		$f= $this->Usuario_sistema->find('all',array('fields'=>array('Usuario.id','Usuario.tipo_usuario_id'),
'conditions' => array('Usuario_sistema.sistema_id' =>$sistema_id),'order' => 'Usuario.id ASC'));
		if($modulo_accion_opcion_id==0)
		{
			$id_sms=$this->Sistema_modulo_sistema->mi_id($sistema_id,$modulo); //id sistema_modulo_sistema
			$id_sma=$this->Sistema_modulo_accion->mi_id($accion_id,$id_sms); //id sistema_modulo_accion
			$id_smao=$this->Modulo_accion_opcion->mi_id($opcion_id,$id_sma); //id sistema_modulo_accion_opcion
			$modulo_accion_opcion_id=$id_smao;
		}
		$ban=1;	
		for($i=0;$i< count($f);$i++)
		{
			$this->data=NULL;
			if($f[$i]['Usuario']['tipo_usuario_id']==1) $est=1;
			else $est=0;
			$d['Permiso']['usuario_id']=$f[$i]['Usuario']['id'];
			$d['Permiso']['modulo_accion_opcion_id']=$modulo_accion_opcion_id;
			$d['Permiso']['permiso']=$est;	
			if($this->Permiso->saveAll($d))
			{
				$ban=$ban*1;
			}
			else
			{
				$ban=0;
				break;		
			}
		}
		
		if($ban==1)
		{
			$this->Modulo_accion_opcion->query('COMMIT');
			$this->set('Exito',' Accion Asignada correctamente');
			echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('opcion_id').value='';</script>";
		}
		else
		{
			$this->Modulo_accion_opcion->query('ROLLBACK');
			$this->set('Error','ha ocurrido un error asignando permisos intente de nuevo!!!');
		}
	}

	

}//class
?>